<!-- XHTML 1.0 Strict -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<meta name="author" content="Rachid Touzani" />
<meta name="keywords" content=" css, dropdowns, dropdown menu, drop-down, menu, navigation, nav, horizontal, vertical left-to-right, vertical right-to-left, horizontal linear, horizontal upwards, cross browser, internet explorer, ie, firefox, safari, opera, browser, lwis" />
<meta name="description" content="Clean, standards-friendly, modular framework for dropdown menus" />
<link href="../css/dropdown.vertical.css" media="screen" rel="stylesheet" type="text/css" />
<link href="../css/default.ultimate.css" media="screen" rel="stylesheet" type="text/css" />
<head>
<!-- Title -->
<title>OFELI - Documentation</title>
<!-- Stylesheet -->
<link rel="stylesheet" type="text/css" href="../doxygen.css" />
<link rel="stylesheet" type="text/css" href="../tabs.css" />
</head>
<body>
<p align="center">
  <img src="../im/ofeli.gif" alt="OFELI's Logo" width="300" height="90">
</p>
<p align="center"><font color="#203F5B" size="4" face="verdana,Helvetica">
<b>An Object Oriented Finite Element Library</b></font></p>
<!-- Complete Page-->
<div id="main">
<div id="mainmenu">
 <div class="text">
<!-- Menu -->
 <div class="tabs">
  <ul class="tablist">
   <li><a href="../index.html"><span>Home</span></a>
    <li><a href="../overview.html"><span>Overview</span></a>
    <li><a href="../extlib.html"><span>External Libraries</span></a>
    <li><a href="../citing.html"><span>Citing OFELI</span></a>
    <li><a href="../fformats.html"><span>File Formats</span></a>
    <li><a href="../demos.html"><span>Demo Codes</span></a>
  </ul>
 </div>
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classOFELI_1_1EigenProblemSolver.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classOFELI_1_1EigenProblemSolver-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">EigenProblemSolver Class Reference<div class="ingroups"><a class="el" href="group__OFELI.html">OFELI</a><a class="el" href="group__OFELI.html">OFELI</a> &raquo;  &#124; <a class="el" href="group__Solver.html">Solver</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Class to find eigenvalues and corresponding eigenvectors of a given matrix in a generalized eigenproblem, <em>i.e.</em> Find scalars l and non-null vectors v such that [K]{v} = l[M]{v} where [K] and [M] are symmetric matrices. The eigenproblem can be originated from a PDE. For this, we will refer to the matrices K and M as <em>Stiffness</em> and <em>Mass</em> matrices respectively.  
 <a href="classOFELI_1_1EigenProblemSolver.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a80c762c005679ddef39d585569ceef24"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80c762c005679ddef39d585569ceef24"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#a80c762c005679ddef39d585569ceef24">EigenProblemSolver</a> ()</td></tr>
<tr class="memdesc:a80c762c005679ddef39d585569ceef24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:a80c762c005679ddef39d585569ceef24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaad2bcba948bb965950a6c89302c12dc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#aaad2bcba948bb965950a6c89302c12dc">EigenProblemSolver</a> (<a class="el" href="classOFELI_1_1DSMatrix.html">DSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;K, int n=0)</td></tr>
<tr class="memdesc:aaad2bcba948bb965950a6c89302c12dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for a dense symmetric matrix that computes the eigenvalues.  <a href="#aaad2bcba948bb965950a6c89302c12dc">More...</a><br /></td></tr>
<tr class="separator:aaad2bcba948bb965950a6c89302c12dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bf75d610c3ed725d26f353be0367d12"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#a4bf75d610c3ed725d26f353be0367d12">EigenProblemSolver</a> (<a class="el" href="classOFELI_1_1SkSMatrix.html">SkSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;K, <a class="el" href="classOFELI_1_1SkSMatrix.html">SkSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;M, int n=0)</td></tr>
<tr class="memdesc:a4bf75d610c3ed725d26f353be0367d12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for Symmetric Skyline Matrices.  <a href="#a4bf75d610c3ed725d26f353be0367d12">More...</a><br /></td></tr>
<tr class="separator:a4bf75d610c3ed725d26f353be0367d12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a747fde51fa6461c5491e2d477dace469"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#a747fde51fa6461c5491e2d477dace469">EigenProblemSolver</a> (<a class="el" href="classOFELI_1_1SkSMatrix.html">SkSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;K, <a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;M, int n=0)</td></tr>
<tr class="memdesc:a747fde51fa6461c5491e2d477dace469"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for Symmetric Skyline Matrices.  <a href="#a747fde51fa6461c5491e2d477dace469">More...</a><br /></td></tr>
<tr class="separator:a747fde51fa6461c5491e2d477dace469"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca9a7e31a62e24a0dbb402cc1f79d909"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#aca9a7e31a62e24a0dbb402cc1f79d909">EigenProblemSolver</a> (<a class="el" href="classOFELI_1_1DSMatrix.html">DSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;<a class="el" href="group__OFELI.html#ga8d83ae0344b0fbb3265762cd97e1b1db">A</a>, <a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;ev, int n=0)</td></tr>
<tr class="memdesc:aca9a7e31a62e24a0dbb402cc1f79d909"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for a dense matrix that compute the eigenvalues.  <a href="#aca9a7e31a62e24a0dbb402cc1f79d909">More...</a><br /></td></tr>
<tr class="separator:aca9a7e31a62e24a0dbb402cc1f79d909"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe5c7e45922f3b89e1402258e0c9d695"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#abe5c7e45922f3b89e1402258e0c9d695">EigenProblemSolver</a> (<a class="el" href="classOFELI_1_1AbsEqua.html">AbsEqua</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;eq, bool lumped=true)</td></tr>
<tr class="memdesc:abe5c7e45922f3b89e1402258e0c9d695"><td class="mdescLeft">&#160;</td><td class="mdescRight">Consrtuctor using partial differential equation.  <a href="#abe5c7e45922f3b89e1402258e0c9d695">More...</a><br /></td></tr>
<tr class="separator:abe5c7e45922f3b89e1402258e0c9d695"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec9109a83111b13070b43103aacce790"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec9109a83111b13070b43103aacce790"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#aec9109a83111b13070b43103aacce790">~EigenProblemSolver</a> ()</td></tr>
<tr class="memdesc:aec9109a83111b13070b43103aacce790"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:aec9109a83111b13070b43103aacce790"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a55cb096a0f0507409268249ebd74cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#a4a55cb096a0f0507409268249ebd74cb">setMatrix</a> (<a class="el" href="classOFELI_1_1SkSMatrix.html">SkSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;K, <a class="el" href="classOFELI_1_1SkSMatrix.html">SkSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;M)</td></tr>
<tr class="memdesc:a4a55cb096a0f0507409268249ebd74cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set matrix instances (Symmetric matrices).  <a href="#a4a55cb096a0f0507409268249ebd74cb">More...</a><br /></td></tr>
<tr class="separator:a4a55cb096a0f0507409268249ebd74cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6cfb54a84ea50e8f9f19f21da1df3b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#aa6cfb54a84ea50e8f9f19f21da1df3b3">setMatrix</a> (<a class="el" href="classOFELI_1_1SkSMatrix.html">SkSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;K, <a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;M)</td></tr>
<tr class="memdesc:aa6cfb54a84ea50e8f9f19f21da1df3b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set matrix instances (Symmetric matrices).  <a href="#aa6cfb54a84ea50e8f9f19f21da1df3b3">More...</a><br /></td></tr>
<tr class="separator:aa6cfb54a84ea50e8f9f19f21da1df3b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb558b1d4548becf6e9929897d1d5145"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#adb558b1d4548becf6e9929897d1d5145">setMatrix</a> (<a class="el" href="classOFELI_1_1DSMatrix.html">DSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;K)</td></tr>
<tr class="memdesc:adb558b1d4548becf6e9929897d1d5145"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set matrix instance (Symmetric matrix).  <a href="#adb558b1d4548becf6e9929897d1d5145">More...</a><br /></td></tr>
<tr class="separator:adb558b1d4548becf6e9929897d1d5145"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb4cdeb6926d0b2ff44e941b75035a77"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#abb4cdeb6926d0b2ff44e941b75035a77">setPDE</a> (<a class="el" href="classOFELI_1_1AbsEqua.html">AbsEqua</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;eq, bool lumped=true)</td></tr>
<tr class="memdesc:abb4cdeb6926d0b2ff44e941b75035a77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define partial differential equation to solve.  <a href="#abb4cdeb6926d0b2ff44e941b75035a77">More...</a><br /></td></tr>
<tr class="separator:abb4cdeb6926d0b2ff44e941b75035a77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7df7b30a01eb8c179b1a9edbe57ad4de"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#a7df7b30a01eb8c179b1a9edbe57ad4de">run</a> (int nb=0)</td></tr>
<tr class="memdesc:a7df7b30a01eb8c179b1a9edbe57ad4de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run the eigenproblem solver.  <a href="#a7df7b30a01eb8c179b1a9edbe57ad4de">More...</a><br /></td></tr>
<tr class="separator:a7df7b30a01eb8c179b1a9edbe57ad4de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b501ad5c2dcfbda286f87bcc7b91071"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#a4b501ad5c2dcfbda286f87bcc7b91071">Assembly</a> (const <a class="el" href="classOFELI_1_1Element.html">Element</a> &amp;el, <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> *eK, <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> *eM)</td></tr>
<tr class="memdesc:a4b501ad5c2dcfbda286f87bcc7b91071"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assemble element arrays into global matrices.  <a href="#a4b501ad5c2dcfbda286f87bcc7b91071">More...</a><br /></td></tr>
<tr class="separator:a4b501ad5c2dcfbda286f87bcc7b91071"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17af543e7b85e37d57de58d955812fb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#a17af543e7b85e37d57de58d955812fb2">SAssembly</a> (const <a class="el" href="classOFELI_1_1Side.html">Side</a> &amp;sd, <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> *sK)</td></tr>
<tr class="memdesc:a17af543e7b85e37d57de58d955812fb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assemble side arrays into global matrix and right-hand side.  <a href="#a17af543e7b85e37d57de58d955812fb2">More...</a><br /></td></tr>
<tr class="separator:a17af543e7b85e37d57de58d955812fb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dfb0fdbc4302290260c4886cb3291ea"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#a7dfb0fdbc4302290260c4886cb3291ea">runSubSpace</a> (size_t nb_eigv, size_t ss_dim=0)</td></tr>
<tr class="memdesc:a7dfb0fdbc4302290260c4886cb3291ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run the subspace iteration solver.  <a href="#a7dfb0fdbc4302290260c4886cb3291ea">More...</a><br /></td></tr>
<tr class="separator:a7dfb0fdbc4302290260c4886cb3291ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bf65d566473724abe4d143556354af0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#a1bf65d566473724abe4d143556354af0">setSubspaceDimension</a> (int dim)</td></tr>
<tr class="memdesc:a1bf65d566473724abe4d143556354af0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the subspace dimension.  <a href="#a1bf65d566473724abe4d143556354af0">More...</a><br /></td></tr>
<tr class="separator:a1bf65d566473724abe4d143556354af0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e6d15777f4c9d95999313bafae5e5e7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e6d15777f4c9d95999313bafae5e5e7"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#a9e6d15777f4c9d95999313bafae5e5e7">setMaxIter</a> (int max_it)</td></tr>
<tr class="memdesc:a9e6d15777f4c9d95999313bafae5e5e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">set maximal number of iterations. <br /></td></tr>
<tr class="separator:a9e6d15777f4c9d95999313bafae5e5e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a947407f933798b110a9135a64e2443af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#a947407f933798b110a9135a64e2443af">setTolerance</a> (<a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> eps)</td></tr>
<tr class="memdesc:a947407f933798b110a9135a64e2443af"><td class="mdescLeft">&#160;</td><td class="mdescRight">set tolerance value  <a href="#a947407f933798b110a9135a64e2443af">More...</a><br /></td></tr>
<tr class="separator:a947407f933798b110a9135a64e2443af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02be55a9e251862863a436ae28385e15"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#a02be55a9e251862863a436ae28385e15">checkSturm</a> (int &amp;nb_found, int &amp;nb_lost)</td></tr>
<tr class="memdesc:a02be55a9e251862863a436ae28385e15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check how many eigenvalues have been found using Sturm sequence method.  <a href="#a02be55a9e251862863a436ae28385e15">More...</a><br /></td></tr>
<tr class="separator:a02be55a9e251862863a436ae28385e15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b90d074dab10cd5272e6f7b8c6cbb0e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b90d074dab10cd5272e6f7b8c6cbb0e"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#a4b90d074dab10cd5272e6f7b8c6cbb0e">getNbIter</a> () const </td></tr>
<tr class="memdesc:a4b90d074dab10cd5272e6f7b8c6cbb0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return actual number of performed iterations. <br /></td></tr>
<tr class="separator:a4b90d074dab10cd5272e6f7b8c6cbb0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7ebe9b937ed1681984c4fd8da3a0a7e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7ebe9b937ed1681984c4fd8da3a0a7e"></a>
<a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#af7ebe9b937ed1681984c4fd8da3a0a7e">getEigenValue</a> (int n) const </td></tr>
<tr class="memdesc:af7ebe9b937ed1681984c4fd8da3a0a7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the n-th eigenvalue. <br /></td></tr>
<tr class="separator:af7ebe9b937ed1681984c4fd8da3a0a7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08a1c049d906271288770e5846c60de4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOFELI_1_1EigenProblemSolver.html#a08a1c049d906271288770e5846c60de4">getEigenVector</a> (int n, <a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;v) const </td></tr>
<tr class="memdesc:a08a1c049d906271288770e5846c60de4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the n-th eigenvector.  <a href="#a08a1c049d906271288770e5846c60de4">More...</a><br /></td></tr>
<tr class="separator:a08a1c049d906271288770e5846c60de4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Class to find eigenvalues and corresponding eigenvectors of a given matrix in a generalized eigenproblem, <em>i.e.</em> Find scalars l and non-null vectors v such that [K]{v} = l[M]{v} where [K] and [M] are symmetric matrices. The eigenproblem can be originated from a PDE. For this, we will refer to the matrices K and M as <em>Stiffness</em> and <em>Mass</em> matrices respectively. </p>
<dl class="section author"><dt>Author</dt><dd>Rachid Touzani </dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>GNU Lesser Public License </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aaad2bcba948bb965950a6c89302c12dc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1EigenProblemSolver.html">EigenProblemSolver</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1DSMatrix.html">DSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor for a dense symmetric matrix that computes the eigenvalues. </p>
<p>This constructor solves in place the eigenvalues problem and stores them in a vector (No need to use the function runSubSpace). The eigenvectors can be obtained by calling the member function getEigenVector. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">K</td><td><a class="el" href="classOFELI_1_1Matrix.html" title="Virtual class to handle matrices for all storage formats. ">Matrix</a> for which eigenmodes are sought. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of eigenvalues to extract. By default all eigenvalues are computed. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4bf75d610c3ed725d26f353be0367d12"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1EigenProblemSolver.html">EigenProblemSolver</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1SkSMatrix.html">SkSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1SkSMatrix.html">SkSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>M</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor for Symmetric Skyline Matrices. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">K</td><td>"Stiffness" matrix </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">M</td><td>"Mass" matrix </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of eigenvalues to extract. By default all eigenvalues are computed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The generalized eigenvalue problem is defined by <code>Kx = aMx</code>, where <code>K</code> and <code>M</code> are referred to as stiffness and mass matrix. </dd></dl>

</div>
</div>
<a class="anchor" id="a747fde51fa6461c5491e2d477dace469"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1EigenProblemSolver.html">EigenProblemSolver</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1SkSMatrix.html">SkSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>M</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor for Symmetric Skyline Matrices. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">K</td><td>"Stiffness" matrix </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">M</td><td>Diagonal "Mass" matrix stored as a <a class="el" href="classOFELI_1_1Vect.html" title="To handle general purpose vectors. ">Vect</a> instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of eigenvalues to extract. By default all eigenvalues are computed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The generalized eigenvalue problem is defined by <code>Kx = aMx</code>, where <code>K</code> and <code>M</code> are referred to as stiffness and mass matrix. </dd></dl>

</div>
</div>
<a class="anchor" id="aca9a7e31a62e24a0dbb402cc1f79d909"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1EigenProblemSolver.html">EigenProblemSolver</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1DSMatrix.html">DSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>ev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor for a dense matrix that compute the eigenvalues. </p>
<p>This constructor solves in place the eigenvalues problem and stores them in a vector (No need to use the function runSubSpace). The eigenvectors can be obtained by calling the member function getEigenVector. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">A</td><td><a class="el" href="classOFELI_1_1Matrix.html" title="Virtual class to handle matrices for all storage formats. ">Matrix</a> for which eigenmodes are sought. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ev</td><td>Vector containing all computed eigenvalues sorted increasingly. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of eigenvalues to extract. By default all eigenvalues are computed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section remark"><dt>Remarks</dt><dd>The vector ev does not need to be sized before. </dd></dl>

</div>
</div>
<a class="anchor" id="abe5c7e45922f3b89e1402258e0c9d695"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOFELI_1_1EigenProblemSolver.html">EigenProblemSolver</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1AbsEqua.html">AbsEqua</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>eq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>lumped</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Consrtuctor using partial differential equation. </p>
<p>The used equation class must have been constructed using the <a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">eq</td><td>Reference to equation instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">lumped</td><td>Mass matrix is lumped (<em>true</em>) or not (<em>false</em>) [Default: <code>true</code>] </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a4a55cb096a0f0507409268249ebd74cb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setMatrix </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1SkSMatrix.html">SkSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1SkSMatrix.html">SkSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>M</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set matrix instances (Symmetric matrices). </p>
<p>This function is to be used when the default constructor is applied. Case where the mass matrix is consistent. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">K</td><td>Stiffness matrix instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">M</td><td>Mass matrix instance </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa6cfb54a84ea50e8f9f19f21da1df3b3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setMatrix </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1SkSMatrix.html">SkSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>M</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set matrix instances (Symmetric matrices). </p>
<p>This function is to be used when the default constructor is applied. Case where the mass matrix is (lumped) diagonal and stored in a vector. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">K</td><td>Stiffness matrix instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">M</td><td>Mass matrix instance where diagonal terms are stored as a vector. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="adb558b1d4548becf6e9929897d1d5145"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setMatrix </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1DSMatrix.html">DSMatrix</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>K</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set matrix instance (Symmetric matrix). </p>
<p>This function is to be used when the default constructor is applied. Case of a standard (not generalized) eigen problem is to be solved </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">K</td><td>Stiffness matrix instance </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abb4cdeb6926d0b2ff44e941b75035a77"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setPDE </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1AbsEqua.html">AbsEqua</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>eq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>lumped</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Define partial differential equation to solve. </p>
<p>The used equation class must have been constructed using the <a class="el" href="classOFELI_1_1Mesh.html" title="To store and manipulate finite element meshes. ">Mesh</a> instance </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">eq</td><td>Reference to equation instance </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">lumped</td><td>Mass matrix is lumped (<em>true</em>) or not (<em>false</em>) [Default: <code>true</code>] </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7df7b30a01eb8c179b1a9edbe57ad4de"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int run </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nb</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Run the eigenproblem solver. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nb</td><td>Number of eigenvalues to be computed. By default, all eigenvalues are computed. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4b501ad5c2dcfbda286f87bcc7b91071"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Assembly </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1Element.html">Element</a> &amp;&#160;</td>
          <td class="paramname"><em>el</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> *&#160;</td>
          <td class="paramname"><em>eK</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> *&#160;</td>
          <td class="paramname"><em>eM</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assemble element arrays into global matrices. </p>
<p>This member function is to be called from finite element equation classes </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">el</td><td>Reference to <a class="el" href="classOFELI_1_1Element.html" title="To store and treat finite element geometric information. ">Element</a> class </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">eK</td><td>Pointer to element stiffness (or assimilated) matrix </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">eM</td><td>Pointer to element mass (or assimilated) matrix </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a17af543e7b85e37d57de58d955812fb2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void SAssembly </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classOFELI_1_1Side.html">Side</a> &amp;&#160;</td>
          <td class="paramname"><em>sd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> *&#160;</td>
          <td class="paramname"><em>sK</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assemble side arrays into global matrix and right-hand side. </p>
<p>This member function is to be called from finite element equation classes </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sd</td><td>Reference to <a class="el" href="classOFELI_1_1Side.html" title="To store and treat finite element sides (edges in 2-D or faces in 3-D) ">Side</a> class </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">sK</td><td>Pointer to side stiffness </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7dfb0fdbc4302290260c4886cb3291ea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int runSubSpace </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nb_eigv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>ss_dim</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Run the subspace iteration solver. </p>
<p>This function rune the Bathe subspace iteration method. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nb_eigv</td><td>Number of eigenvalues to be extracted </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ss_dim</td><td>Subspace dimension. Must be at least equal to the number eigenvalues to seek. [Default: <code>nb_eigv</code>] </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1: Normal execution. Convergence has been achieved. 2: Convergence for eigenvalues has not been attained. </dd></dl>

</div>
</div>
<a class="anchor" id="a1bf65d566473724abe4d143556354af0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setSubspaceDimension </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dim</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Define the subspace dimension. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Subspace dimension. Must be larger or equal to the number of wanted eigenvalues. By default this value will be set to the number of wanted eigenvalues </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a947407f933798b110a9135a64e2443af"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setTolerance </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a>&#160;</td>
          <td class="paramname"><em>eps</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>set tolerance value </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">eps</td><td>Convergence tolerance for eigenvalues [Default: 1.e-8] </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a02be55a9e251862863a436ae28385e15"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int checkSturm </td>
          <td>(</td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>nb_found</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>nb_lost</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check how many eigenvalues have been found using Sturm sequence method. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">nb_found</td><td>number of eigenvalues actually found </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">nb_lost</td><td>number of eigenvalues missing </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>- 0, Successful completion of subroutine.<ul>
<li>1, No convergent eigenvalues found. </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="a08a1c049d906271288770e5846c60de4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void getEigenVector </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classOFELI_1_1Vect.html">Vect</a>&lt; <a class="el" href="group__Util.html#gaccfeb6b1e8cf41731fde610549bee67c">real_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the n-th eigenvector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Label of eigenvector (They are stored in ascending order of eigenvalues) </td></tr>
    <tr><td class="paramdir">[in,out]</td><td class="paramname">v</td><td><a class="el" href="classOFELI_1_1Vect.html" title="To handle general purpose vectors. ">Vect</a> instance where the eigenvector is stored. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->

</div> <!-- class text -->
</div> <!-- main menu -->
<!-- Google Search -->
<br><br>
<center>
  <div id="cse" style="width: 80%;">Loading</div>
  <script src="http://www.google.com/jsapi" type="text/javascript"></script>
  <script type="text/javascript"> 
     google.load('search', '1', {language : 'en', style : google.loader.themes.SHINY});
     google.setOnLoadCallback(function() {
        var customSearchOptions = {};  var customSearchControl = new google.search.CustomSearchControl(
        '012396140824982761142:-qrywxcfi_o', customSearchOptions);
        customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
        customSearchControl.draw('cse');
     }, true);
   </script>
   <style type="text/css">
     .gsc-control-cse {
     font-family: Verdana, sans-serif;
     border-color: #DAE0E5;
     background-color: #DAE0E5;
   }
   .gsc-control-cse .gsc-table-result { font-family: Verdana, sans-serif; }
   input.gsc-input { border-color: #B6BEC5; }
   input.gsc-search-button {
     border-color: #B6BEC5;
     background-color: #D0D1D4;
   }
   .gsc-tabHeader.gsc-tabhInactive {
     border-color: #999999;
     background-color: #EEEEEE;
   }
   .gsc-tabHeader.gsc-tabhActive {
     border-color: #999999;
     background-color: #999999;
   }
   .gsc-tabsArea { border-color: #999999; }
   .gsc-webResult.gsc-result,
   .gsc-results .gsc-imageResult {
     border-color: #FFFFFF;
     background-color: #FFFFFF;
   }
   .gsc-webResult.gsc-result:hover,
   .gsc-imageResult:hover {
     border-color: #D2D6DC;
     background-color: #EDEDED;
   }
   .gsc-webResult.gsc-result.gsc-promotion:hover {
     border-color: #D2D6DC;
     background-color: #EDEDED;
   }
   .gs-webResult.gs-result a.gs-title:link,
   .gs-webResult.gs-result a.gs-title:link b,
   .gs-imageResult a.gs-title:link,
   .gs-imageResult a.gs-title:link b { color: #0568CD; }
   .gs-webResult.gs-result a.gs-title:visited,
   .gs-webResult.gs-result a.gs-title:visited b,
   .gs-imageResult a.gs-title:visited,
   .gs-imageResult a.gs-title:visited b { color: #0568CD; }
   .gs-webResult.gs-result a.gs-title:hover,
   .gs-webResult.gs-result a.gs-title:hover b,
   .gs-imageResult a.gs-title:hover,
   .gs-imageResult a.gs-title:hover b { color: #0568CD; }
   .gs-webResult.gs-result a.gs-title:active,
   .gs-webResult.gs-result a.gs-title:active b,
   .gs-imageResult a.gs-title:active,
   .gs-imageResult a.gs-title:active b { color: #0568CD; }
   .gsc-cursor-page { color: #0568CD; }
   a.gsc-trailing-more-results:link { color: #0568CD; }
   .gs-webResult .gs-snippet,
   .gs-imageResult .gs-snippet,
   .gs-fileFormatType { color: #5F6A73; }
   .gs-webResult div.gs-visibleUrl,
   .gs-imageResult div.gs-visibleUrl { color: #5F6A73; }
   .gs-webResult div.gs-visibleUrl-short { color: #5F6A73; }
   .gs-webResult div.gs-visibleUrl-short { display: none; }
   .gs-webResult div.gs-visibleUrl-long { display: block; }
   .gs-promotion div.gs-visibleUrl-short { display: none; }
   .gs-promotion div.gs-visibleUrl-long { display: block; }
   .gsc-cursor-box { border-color: #FFFFFF; }
   .gsc-results .gsc-cursor-box .gsc-cursor-page {
      border-color: #999999;
      background-color: #FFFFFF;
      color: #0568CD;
   }
   .gsc-results .gsc-cursor-box .gsc-cursor-current-page {
      border-color: #999999;
      background-color: #999999;
      color: #0568CD;
   }
   .gsc-webResult.gsc-result.gsc-promotion {
      border-color: #D2D6DC;
      background-color: #D0D1D4;
   }
   .gsc-completion-title { color: #0568CD; }
   .gsc-completion-snippet { color: #5F6A73; }
   .gs-promotion a.gs-title:link,
   .gs-promotion a.gs-title:link *,
   .gs-promotion .gs-snippet a:link { color: #0066CC; }
   .gs-promotion a.gs-title:visited,
   .gs-promotion a.gs-title:visited *,
   .gs-promotion .gs-snippet a:visited { color: #0066CC; }
   .gs-promotion a.gs-title:hover,
   .gs-promotion a.gs-title:hover *,
   .gs-promotion .gs-snippet a:hover { color: #0066CC; }
   .gs-promotion a.gs-title:active,
   .gs-promotion a.gs-title:active *,
   .gs-promotion .gs-snippet a:active { color: #0066CC; }
   .gs-promotion .gs-snippet,
   .gs-promotion .gs-title .gs-promotion-title-right,
   .gs-promotion .gs-title .gs-promotion-title-right *  { color: #333333; }
   .gs-promotion .gs-visibleUrl,
   .gs-promotion .gs-visibleUrl-short { color: #5F6A73; }
   </style>
</center>
<!-- End of Google Search Box -->
<br><br><br></p>
<div id="foot_bar">
  Copyright &copy; 1998-2019 Rachid Touzani&nbsp;
</div>
</div> <!-- main -->
</body>
</HTML>
